package com.ruoyi.activity.service;

import java.util.List;

import com.ruoyi.activity.model.domain.Evaluation;
import com.ruoyi.client.model.dto.ApiExpectEvaluationRequest;
import com.ruoyi.client.vo.ApiExpectEvaluationVO;

/**
 * 作品评价信息Service接口
 *
 * @author ruoyi
 * @date 2024-06-28
 */
public interface IEvaluationService {
    /**
     * 查询作品评价信息
     *
     * @param id 作品评价信息主键
     * @return 作品评价信息
     */
    public Evaluation selectEvaluationById(Long id);

    /**
     * 查询作品评价信息列表
     *
     * @param evaluation 作品评价信息
     * @return 作品评价信息集合
     */
    public List<Evaluation> selectEvaluationList(Evaluation evaluation);

    /**
     * 新增作品评价信息
     *
     * @param evaluation 作品评价信息
     * @return 结果
     */
    public int insertEvaluation(Evaluation evaluation);

    /**
     * 修改作品评价信息
     *
     * @param evaluation 作品评价信息
     * @return 结果
     */
    public int updateEvaluation(Evaluation evaluation);

    /**
     * 批量删除作品评价信息
     *
     * @param ids 需要删除的作品评价信息主键集合
     * @return 结果
     */
    public int deleteEvaluationByIds(Long[] ids);

    /**
     * 删除作品评价信息信息
     *
     * @param id 作品评价信息主键
     * @return 结果
     */
    public int deleteEvaluationById(Long id);

    /**
     * 评审评审
     *
     * @param apiExpectEvaluationRequest
     * @return
     */
    boolean reviewWork(ApiExpectEvaluationRequest apiExpectEvaluationRequest);

    ApiExpectEvaluationVO getApiExceptEvaluationVo(Evaluation evaluation);
}
